Wireless ad hoc communication system, terminal, processing method in terminal and program to make terminal execute processing method

ABSTRACT

A wireless ad hoc communication system is provided in which in the case where an alternative route can not be discovered in a certain node, a restoration is attempted in an intermediate node instead of deleting all routes up to a transmission source. 
     In order to do so, a route discovery process  20  discovers and sets a route when a corresponding route is not set at the time of data communication request  10.  A link state management process  40  monitors a state of a link  30  on the route set by the route discovery process  20,  and updates a link state in a route table of each wireless terminal. When the link quality deteriorates, a route information notification process  50  notifies the link state to urge a retention of transmission data. An alternative route search process  60  searches an alternative route when the link quality deteriorates, and traces back to a terminal on the transmission side in order to search further when the alternative route is not discovered. A route switching process  70  switches a possible alternative route as a qualified route.

RELATED APPLICATION DATA

This application is a continuation of U.S. patent application Ser. No.10/548,686, filed Sep. 9, 2005, the entirety of which is incorporatedherein by reference to the extent permitted by law. U.S. patentapplication Ser. No. 10/548,686 is the Section 371 National Stage ofPCT/JP2004/003117, filed Mar. 5, 2005. This application claims thebenefit of priority to Japanese Patent Application Nos. 2003-068962,filed Mar. 13, 2003 and 2003-068961, filed Mar. 13, 2003.

BACKGROUND OF THE INVENTION

The present invention relates to a wireless ad hoc communication system,and particularly relates to a wireless ad hoc communication system, aterminal in this system, and a processing method therein as well as aprogram to make a computer (terminal) execute this method, wherein analternative route is discovered in order to prepare for a routeswitching thereafter during transmission of a packet when theintermediate link quality deteriorates.

DESCRIPTION OF THE RELATED ART

Since a miniaturization and performance enhancement of an electronicdevice has advanced and it becomes possible to carry and use easily theelectronic device, there is a requirement for an environment that makescommunication possible by connecting a terminal to a network at a placewhere a necessity occurs. As one of such environments, a development ofa network that is temporarily established whenever necessary,specifically wireless ad hoc network technology, has been progressed. Inthis wireless ad hoc network, a specific access point is not providedand each terminal (for example, computer, handheld information terminal(PDA: Personal Digital Assistance), mobile phone unit, and the like) isautonomously distributed and mutually connected.

In this wireless ad hoc network, since a change in topology frequentlyoccurs differently from a conventional fixed network, it is necessary toestablish a route control method for securing reliability, specificallya routing protocol. The routing protocol of the wireless ad hoc networkwhich has been proposed presently is roughly classified into twocategories that are an on-demand method and a table drive method. Inaddition, a hybrid method integrating these two methods has also beenproposed.

The table drive method and the hybrid method are said to becomparatively failure-resistant since route information is alwaysexchanged. On the other hand, a size of an overhead due to constanttransmission and reception of the information becomes a problem. Forexample, it is inconvenient to always exchange the route informationfrom a view point of power consumption when considering an environmentin which a mobile device driven by a battery is connected to a wirelessad hoc network. In addition, there is also such a problem that it is notpossible to cope with a sudden failure when a cycle of updating a routetable is long.

On the other hand, in case of the on-demand method, a route is formed bytransmitting a route discovery request immediately before startingcommunication, and therefore even when a failure suddenly occurs in alink at a stage where the communication starts, a valid route is formeddisregarding that link. However, when the quality of the link being useddeteriorates during the communication such that the route becomes notusable, the communication is immediately interrupted and it is necessaryto form a route from a transmission source once again.

As a typical routing protocol of the on-demand method, there is an AODV(Ad hoc On-demand Distance Vector) protocol which is proposed by theMANET WG (Mobile Ad hoc NETwork Working Group) of IETF (InternetEngineering Task Force), for example. In this AODV protocol, a methodhas been proposed in which a message requesting a rediscovery of a routeis transmitted from nodes at both ends and a route is newly formed by amethod called “local repair” when a failure occurs in a link to resultin break (for example, refer to Non-patent reference 1).

[Non-Patent Reference 1]

“Ad hoc ON-demand Distance Vector Routing”, Charles E. Perkins, et al.,(USA), IETF, Feb. 17, 2003, pp. 23-25, Internet drafts<http://www.ietf.org/internet-drafts/draft-ietf-manet-aodv-13.txt>

SUMMARY OF THE INVENTION

According to the above-described prior art, a route to which a failureoccurs can be repaired by discovering an alternative route, but whensuch repair is not possible, either of nodes having a link in which thefailure occurs as the route transmits a route error message to atransmission source. A node that has received the route error messagetransfers the route error message further to the transmission sourceafter deleting the corresponding route.

Due to such nature, when a failure occurs in one link and a repair isnot possible, all routes are to be deleted while repeating the transferof the route error message. For example, in such an ad hoc network thathas 10 hops from a transmission source to a reception destination, whena failure occurs in the last one hop and a repair is not possible, allroutes are to be erased. Making up a route again from the beginning notonly incurs calculation costs but also requires time costs and incurspacket loss.

Particularly, in a wireless ad hoc network, since a change in topologyoccurs frequently due to a movement of a terminal (node), a radio wavecondition or the like, it is important to secure a method capable ofcommunication even at the time of a break of a link. In theabove-described prior art, when a failure occurs in a link, it is triedto discover an alternative route from a node where the failure isdiscovered, however, it is necessary to erase all routes when that nodeonce fails to discover an alternative route. On the other hand, thecalculation costs and time costs become considerably high in a method ofdiscovering a route once again from a transmission source. Particularly,in a large scale ad hoc network, since it is too costly to erase allroutes and to perform a route discovery all over again from atransmission source even when a failure occurs in one link close to areception destination, this method is not desirable in an environment ofa power saving orientation where a mobile device is assumed as a node.

Moreover, in the above-described prior art, the rediscovery of the routeis performed after the failure occurs in the link to result in a break.Therefore, there is a possibility that a smooth switching to a newlydiscovered route is not possible since it takes time to rediscover aroute after the break of the link. Due to this reason, the method of theprior art is considered not suitable to a situation whereinstantaneousness is required, such as a case of a real-timedistribution of a moving image and voice, for example.

Particularly, in the wireless ad hoc network, it is important to securea method capable of communication even at the time of a break of a linksince a change in topology occurs frequently due to a movement of aterminal (node), a radio wave condition, and the like. Typically, abreak of a link does not occur suddenly, but there are many cases wherethe link quality gradually deteriorates to be an eventual break. With analternative route being discovered in advance during a process of suchgradual deterioration, it is possible to cope with a failureinstantaneously, and consequentially it is expected to improve thereliability.

Accordingly, the present invention is to attempt a repair in anintermediate node without deleting all routes up to a transmissionsource when an alternative route can not be discovered in a certain nodein a wireless ad hoc communication system.

Further, the present invention is to obtain a prompt route switchingwith an alternative route being discovered in advance in order toprepare for a situation where the quality of a link is deteriorated toresult in break during communication in the wireless ad hoccommunication system.

In order to solve the problems described above, a wireless ad hoccommunication system according to the present invention is formed of aplurality of terminals, including: a first intermediate terminal whichtransmits an alternative route discovery request when the quality of alink connected thereto deteriorates between a source terminal thattransmits communication data and a destination terminal that receivesthis communication data; and a second terminal which is positionedupstream with respect to the first intermediate terminal between thesource terminal and the destination terminal and which transmits data tothe first intermediate terminal, wherein the first intermediate terminaltransmits a route error notification to the second terminal when therequest fails, and the second intermediate terminal transmits ananother-alternative-route discovery request when the notification isreceived from the first intermediate terminal. Accordingly, the secondintermediate terminal attempts restoration without deleting all routesup to a transmission source when the alternative route can not bediscovered in the first intermediate terminal.

Further, the terminal of the present invention includes: a route tablein which a destination address of communication, the next transferdestination address to reach the destination address, a link state of alink connecting to the transfer destination address, and an address listof a transmission source that transmits the communication directed tothe destination address to this terminal are made to correspond and areretained as a route entry; means for monitoring a state of the link andfor updating the link state; means for transmitting to another terminalan alternative route discovery request with respect to the correspondingdestination address, when the above-described link state becomes astretched state; and means for transmitting a route error notificationto the transmission source shown in the address list when the requestfails. Accordingly, the alternative route is searched when the link onthe route becomes the stretched state, and the alternative route issearched further in a terminal of an upper stream than this terminal bytransmitting the route error notification when the search fails.

Further, the terminal of the present invention includes: a route tablein which a destination address of communication, the next transferdestination address to reach the destination address, a link state of alink connecting to the transfer destination address, and an address listof a transmission source that transmits the communication directed tothe destination address to this terminal are made to correspond and areretained as a route entry; means for monitoring a state of the link andfor updating the link state; and means for transmitting routeinformation on the link to the transmission source shown in the addresslist when the link state becomes a stretched state. Accordingly,transmission data is retained in a data buffer in a terminal of an upperstream than this terminal in preparation for a route switchingthereafter by notifying the route information.

Further, the terminal of the present invention includes a data bufferand means for retaining data being transmitted to another terminal inthe data buffer when route information on a link whose link statebecomes a stretched state is received from the above-described anotherterminal during transmission of the data to the another terminal.Accordingly, the transmission data retained in the data buffer inpreparation for a route switching thereafter when receiving thenotification of the route information.

Further, a processing method of the present invention is a processingmethod in a terminal provided with a route table in which a destinationaddress of communication, the next transfer destination address to reachthe destination address, a link state of a link connecting to thetransfer destination address, and an address list of a transmissionsource that transmits the communication directed to the destinationaddress to this terminal are made to correspond and are retained as aroute entry, including the steps of: monitoring a state of the link andupdating the link state; transmitting route information on the link tothe transmission source shown in the address list when the link statebecomes a stretched state; transmitting to another terminal analternative route discovery request with respect to the correspondingdestination address, when the link state becomes a stretched state; andtransmitting a route error notification to the transmission source shownin the address list when the request fails. Accordingly, when the linkon the route becomes the stretched state, the link state is notified andthe transmission data is retained in the data buffer in preparation fora route switching, and at the same time the alternative route issearched and then the discovery of the alternative route is urged in aterminal of an upper stream than this terminal by transmitting the routeerror notification when the search fails.

Further, the processing method of the present invention is a processingmethod in a terminal provided with a data buffer, including the stepsof: retaining data being transmitted to another terminal in the databuffer when route information on a link whose link state becomes astretched state is received from another terminal during thetransmission of the data to another terminal; transmitting analternative route discovery request for the destination address tofurther another terminal when a route error notification is receivedfrom another terminal within a predetermined time after receiving theroute information; and discarding the data retained in the buffer whenthe route error notification is not received from another terminal evenwhen the predetermined time passes after receiving the routeinformation. Accordingly, the discovery of the alternative route isurged in a terminal of an upper stream than this terminal bytransmitting the route error notification when the search for thealternative route fails, and the data that becomes unnecessary isdiscarded from the data buffer when the search for the alternative routeis presumed to be successful.

Further, the processing method of the present invention is a processingmethod in a terminal provided with: a route table in which a destinationaddress of communication, the next transfer destination address to reachthe destination address, a link state of a link connecting to thattransfer destination address, and an address list of a transmissionsource that transmits the communication directed to the destinationaddress to this terminal are made to correspond and are retained as aroute entry, and a data buffer, including the steps of: retaining databeing transmitted to another terminal in the data buffer when a routeinformation on a link whose link state becomes a stretched state isreceived from another terminal during the transmission of the data toanother terminal; transmitting an alternative route discovery requestwith respect to the destination address to further another terminal whena route error notification is received from another terminal withinpredetermined time after receiving the route information; transmitting acommand to switch to this discovered alternative route as a qualifiedroute when the alternative route is discovered with respect to therequest; and transferring the route error notification from anotherterminal to the transmission source shown in the address list when thealternative route is not discovered with respect to the request.Accordingly, the alternative route is searched when the route can not bediscovered in a lower stream terminal than this terminal, thisdiscovered alternative route is switched as a qualified route when thealternative route is discovered, and the route error notification istransferred to a terminal of an upper stream than this terminal in orderto urge the discovery of the alternative route when the alternativeroute can not be discovered.

Further, a program of the present invention is a program to make aterminal provided with a route table in which a destination address ofcommunication, the next transfer destination address to reach thedestination address, a link state of a link connecting to the transferdestination address, and an address list of a transmission source thattransmits the communication directed to the destination address to thisterminal are made to correspond and are retained as a route entry,execute the procedures of: monitoring a state of the link and updatingthe link state; transmitting route information on the link to thetransmission source shown in the address list when the link statebecomes a stretched state; transmitting an alternative route discoveryrequest with respect to the corresponding destination address to furtheranother terminal, when the link state become the stretched state; andtransmitting a route error notification to the transmission source shownin the above-described address list when the request fails. Accordingly,the link state is notified to make the transmission data retained in thedata buffer in preparation for a route switching and at the same timethe alternative route is searched when the link on the route becomes thestretched state, and then the discovery of the alternative route isurged in a terminal of an upper stream than this terminal bytransmitting the route error notification when the search fails.

Further, the program of the present invention is a program to make aterminal provided with a data buffer execute the procedures of:retaining data being transmitted to another terminal in the data bufferwhen route information on a link whose link state becomes a stretchedstate is received from another terminal during the transmission of thedata to another terminal; transmitting an alternative route discoveryrequest with respect to the above-described destination address tofurther another terminal when the route error notification is receivedfrom another terminal within predetermined time after receiving theroute information; discarding the data retained in the data buffer whenthe route error notification is not received from another terminal evenwhen the predetermined time passes after receiving the routeinformation. Accordingly, the discovery of the alternative route isurged in a terminal of an upper stream than this terminal bytransmitting the route error notification when the search with respectto the alternative route fails, and the data that becomes unnecessary isdiscarded from the data buffer when the search for the alternative routeis presumed to be successful.

Further, the program of the present invention is a program to make aterminal provided with a route table in which a destination address ofcommunication, the next transfer destination address to reach thedestination address, a link state of a link connecting to the transferdestination address, and an address list of a transmission source thattransmits the communication directed to the destination address to thisterminal are made to correspond and are retained as a route entry, and adata buffer, execute procedures of: retaining data being transmitted toanother terminal in the data buffer when route information on a linkwhose link state becomes a stretched state is received from the anotherterminal during the transmission of the data to the another terminal;transmitting an alternative route discovery request for the destinationaddress to further another terminal when a route error notification isreceived from another terminal within predetermined time after receivingthe route information; transmitting a command to switch to thisdiscovered alternative route as a qualified route when the alternativeroute is discovered with respect to the request; and transferring theroute error notification from another terminal to the transmissionsource shown in the address list when the alternative route is notdiscovered with respect to the above-described request. Accordingly, thealternative route is searched when the route can not be discovered in aterminal of a lower stream than this terminal, this discoveredalternative route is switched as the qualified route when thealternative route is discovered, and the discovery of the alternativeroute is urged by transferring the route error notification to aterminal of an upper stream than this terminal when the alternativeroute can not be discovered.

In order to solve the above-described problems, a wireless ad hoccommunication system of the present invention is formed of a pluralityof terminals and includes: a first intermediate terminal that transmitsan alternative route discovery request when the quality of a linkconnected to this terminal deteriorates between a source terminal thattransmits communication data and a destination terminal that receivesthe communication data, and a second intermediate terminal that sets apossible alternative route when the request is received, wherein thefirst intermediate terminal transmits a command to switch the routeafter the possible alternative route is set, and the second intermediateterminal switches to the possible alternative route as a qualified routewhen the command is received. Accordingly, the possible alternativeroute is set from the destination terminal to the source terminal andthe route switching is obtained promptly by using the qualitydeterioration of the link as a trigger.

Further, the wireless ad hoc communication system of the presentinvention is formed of a plurality of terminals and includes: a sourceterminal that transmits communication data, a destination terminal thatreceives the communication data, a first intermediate terminal thattransmits an alternative route discovery request when the quality of alink connected to this terminal deteriorates during transfer of thecommunication data between the source terminal and the destinationterminal, and a second intermediate terminal that sets a possiblealternative route to the transmission terminal when the request isreceived and transfers this request to further another terminal, whereinthe destination terminal transmits a reply to the request when therequest is received, the second intermediate terminal sets the possiblealternative route to the destination terminal when the reply is receivedand transfers this reply to further another terminal, the firstintermediate terminal transmits a first command to switch the routeafter the reply is received, the second terminal switches to thepossible alternative route to the destination terminal as a qualifiedroute when the first command is received and transfers this firstcommand to further another terminal, the destination terminal transmitsa second command to switch when the first command is received, and thesecond intermediate terminal switches to the possible alternative routeto the source terminal as the qualified route when the second command isreceived and transfers the second command to further another terminal.Accordingly, the possible bidirectional alternative route is set betweenthe source terminal and the destination terminal and the route switchingis obtained promptly by using the quality deterioration of the link as atrigger.

Further, a terminal of the present invention includes: a route table inwhich a destination address of communication, the next transferdestination address to reach the destination address, and a link stateof a link connecting to the transfer destination address are made tocorrespond and are retained as a route entry; means for monitoring astate of the link and for updating the link state; and means fortransmitting to another terminal an alternative route discovery requestwith respect to the corresponding destination address, when the linkstate becomes a stretched state. Accordingly, the possible alternativeroute is set and the route switching thereafter is obtained promptly byusing the quality deterioration of the link as a trigger.

Further, the terminal of the present invention includes: a route tablein which a destination address of communication, the next transferdestination address to reach the destination address, and a link stateof a link connecting to the transfer destination address are made tocorrespond and are retained as a route entry; means for receiving analternative route discovery request from another terminal; and means forsetting a link state of an alternative route to a source address in therequest as a candidate state into the above-described route table.Accordingly, the possible alternative route is set to the transmissionsource of the alternative route discovery request.

Further, the terminal of the present invention includes: a route tablein which a destination address of communication, the next transferdestination address to reach the destination address, and a link stateof a link connecting to the transfer destination address are made tocorrespond and are retained as a route entry; means for receiving fromanother terminal a command to switch to an alternative route; and meansfor setting an route, whose link state is a candidate state, to thedestination address in the command as a valid state into the routetable. Accordingly, switching to the possible alternative route set inadvance as a qualified route is promptly performed.

Further, a processing method of the present invention is a processingmethod in a terminal provided with a route table in which a destinationaddress of communication, the next transfer destination address to reachthe destination address, and a link state of a link connecting to thetransfer destination address are made to correspond and are retained asa route entry, including the steps of: monitoring a state of the linkand updating the link state; transmitting to another terminal analternative route discovery request with respect to the correspondingdestination address, when the link state becomes a stretched state; andtransmitting a command to switch to the discovered alternative route asa qualified route. Accordingly, the possible alternative route is setand the route switching is obtained promptly by using the qualitydeterioration of the link as a trigger.

Further, the processing method of the present invention is a processingmethod in a terminal provided with a route table in which a destinationaddress of communication, the next transfer destination address to reachthe destination address, and a link state of a link connecting to thetransfer destination address are made to correspond and are retained asa route entry, including the steps of: receiving an alternative routediscovery request from another terminal; setting a link state of analternative route to a source address in the request as a candidatestate into the route table; transmitting a reply to this request whenthe destination address in the request is an address of this terminaland transferring this request to another terminal when the destinationaddress in the request is not the address thereof. Accordingly, thepossible alternative route to the transmission source of the alternativeroute discovery request is set.

Further, the processing method of the present invention is a processingmethod in a terminal provided with a route table in which a destinationaddress of communication, the next transfer destination address to reachthe destination address, and a link state of a link connecting to thetransfer destination address are made to correspond and are retained asa route entry, including the steps of: receiving a command to switch toan alternative route from another terminal; setting a route to thedestination address in the command as an invalid state into the routetable when there is a route whose link state is a stretched state or avalid state; and setting the route, whose link state is a candidatestate, to the destination address in the command as the valid state intothe route table. Accordingly, switching to the possible alternativeroute set in advance as a qualified route is performed promptly.

Further, the program of the present invention is a program to make aterminal provided with a route table in which a destination address ofcommunication, the next transfer destination address to reach thedestination address, and a link state of a link connecting to thetransfer destination address are made to correspond and are retained asa route entry execute the procedures of: monitoring a state of the linkand updating the link state; transmitting to another terminal analternative route discovery request with respect to the correspondingdestination address, when the link state becomes a stretched state; andtransmitting a command to switch to the discovered alternative route asa qualified route. Accordingly, the possible alternative route is setand the route switching is obtained promptly by using the qualitydeterioration of the link as a trigger.

Further, the program of the present invention is a program to make aterminal provided with a route table in which a destination address ofcommunication, the next transfer destination address to reach thedestination address, and a link state of a link connecting to thetransfer destination address are made to correspond and are retained asa route entry execute the procedures of: receiving an alternative routediscovery request from another terminal; setting a link state of analternative route to a source address in the request as a candidatestate into the route table; and transmitting a reply to the request whenthe destination address in the request is the address of this terminaland transferring the request to another terminal when the destinationaddress in the request is not the address thereof. Accordingly, thepossible alternative route to the transmission source of the alternativeroute discovery request is set.

Furthermore, the program of the present invention is a program to make aterminal proved with a route table in which a destination address ofcommunication, the next transfer destination address to reach thedestination address, and a link state of a link connecting to thetransfer destination address are made to correspond and are retained asa route entry execute the procedures of: receiving a command to switchto an alternative route from another terminal; setting a route to thedestination address in the command as an invalid state into the tablewhen there is a route whose link state is a stretched state or a validstate; and setting the route, whose link state is a candidate state, tothe destination address in the command as a valid state into the routetable. Accordingly, switching to the possible alternative route set inadvance as a qualified route is promptly performed.

BRIEF DESCRIPTION OF DRAWINGS

FIGS. 1A and 1B are diagrams showing an example of a wireless ad hocnetwork that is assumed in a wireless ad hoc communication systemaccording to an embodiment of the present invention;

FIGS. 2A and 2B are diagrams showing a procedure for setting a route inthe wireless ad hoc network according to the example of FIG. 1;

FIG. 3 is a diagram showing an outline of processing in the embodimentof the present invention;

FIG. 4 is a diagram showing an configuration example of a wirelessterminal 100 in the embodiment of the present invention;

FIG. 5 is a diagram showing a configuration example of a route table 610retained in the wireless terminal 100 in the embodiment of the presentinvention;

FIG. 6 is a diagram showing an example of a state transition in a linkstate management process 40 according to the embodiment of the presentinvention;

FIG. 7 is a diagram showing a configuration example of a routeinformation notification packet 830 that is used in a route informationnotification process 50 according to the embodiment of the presentinvention;

FIG. 8 is a diagram showing a configuration example of a route requestpacket 810 that is used in an alternative route search process 60according to the embodiment of the present invention;

FIG. 9 is a diagram showing a configuration example of a route replypacket 820 that is used in the alternative route search process 60according to the embodiment of the present invention;

FIG. 10 is a diagram showing a configuration example of a route errorpacket 840 that is used in the alternative route search process 60according to the embodiment of the present invention;

FIG. 11 is a diagram showing a configuration example of a routeswitching packet 850 that is used in a route switching process 70according to the embodiment of the present invention;

FIG. 12 is a diagram showing a route when a terminal C transmits a routeinformation notification in the embodiment of the present invention;

FIG. 13 is a diagram showing a route when the terminal C transmits aroute error in the embodiment of the present invention;

FIG. 14 is a diagram showing a state in which a route is switched to analternative route between a terminal S and a terminal D in theembodiment of the present invention;

FIG. 15 is a diagram showing data transmission timing of a terminal Abefore and after the route information notification in the embodiment ofthe present invention;

FIG. 16 is a diagram showing a route when communication is performedfrom the terminal S toward the terminal D and contents of a route table610 in each terminal;

FIG. 17 is a diagram showing a route when the terminal A requests analternative route and the contents of the route table 610 in eachterminal;

FIG. 18 is a diagram showing a route when a terminal B transfers therequest of the alternative route and the contents of the route table 610in each terminal;

FIG. 19 is a diagram showing a route when a terminal E transfers therequest of the alternative route and the contents of the route table 610in each terminal;

FIG. 20 is a diagram showing a route when the terminal D transmits areply to the request of the alternative route and the contents of theroute table 610 in each terminal;

FIG. 21 is a diagram showing a route when the terminal A transmits acommand to switch a possible alternative route to a qualified route andthe contents of the route table 610 in each terminal;

FIG. 22 is a diagram showing a route when the terminal D transmits acommand to switch a possible alternative route to a qualified route andthe contents of the route table 610 in each terminal;

FIG. 23 is a diagram showing a state in which a route is switched to analternative route between the terminal S and the terminal D and thecontents of the route table 610 in each terminal;

FIG. 24 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute information notification packet 830;

FIG. 25 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute error packet 840;

FIG. 26 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute request packet 810;

FIG. 27 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute reply packet 820; and

FIG. 28 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute switching packet 850.

BEST MODE FOR CARRYING OUT THE INVENTION

Next, embodiments of the present invention are explained in detail byreferring to the accompanied drawings.

FIG. 1 is a diagram showing an example of a wireless ad hoc network thatis assumed in a wireless ad hoc communication system according to theembodiment of the present invention. In an example of this FIG. 1A, sixterminals of a terminal S (201) through a terminal E (206) constitute anetwork of the wireless ad hoc communication system. In addition, adotted line around each terminal indicates communication ranges 291through 296 of the terminals 201 through 206, respectively.

For example, the terminal A (202) and terminal B (203) are included inthe communication range 291 of the terminal S (201). In addition, theterminal S (201), terminal B (203), and terminal C (204) are included inthe communication range 292 of the terminal A (202). Also, the terminalS (201), terminal A (202), and terminal E (206) are included in thecommunication range 293 of the terminal B (203). Also, the terminal A(202), terminal D (205), and terminal E (206) are included in thecommunication range 294 of the terminal C (204). Moreover, the terminalC (204) and terminal E (206) are included in the communication range 295of the terminal D (205). Further, the terminal B (203), terminal C(204), and terminal D (205) are included in the communication range 296of the terminal E (206).

FIG. 1B schematically shows such a relation among the terminals. In FIG.1B, terminals existing within the communication ranges of 291 through296 are mutually connected by lines. Therefore, it is understood thatcommunication should be performed by a plurality of hops through otherterminals when the communication is performed between terminals that arenot connected directly.

FIGS. 2A and 2B are diagrams showing a procedure for setting a route inthe wireless ad hoc network according to the example of FIG. 1. In thecase where a route is not yet set between certain terminals, the priorart can be used as a procedure for setting the route at the beginning.For example, in the above-described AODV protocol, a route is set bytransmitting a route request message from a source terminal to adestination terminal and by transmitting a route reply message from thedestination terminal to the source terminal.

FIG. 2A shows a flow of a packet when a route request is made from theterminal S (201) to the terminal D (205). The terminal S enters a routediscovery process if a route to the terminal D is not yet set at thetime of transmitting data to the terminal D. First, the terminal Sbroadcasts a route request message (Route REQuest message: RREQ). Theterminal A (202) and terminal B (203) receiving this route requestmessage set a reverse path (Reverse Path) to the terminal S that is atransmission source of the route request message. Here, the reverse pathmeans a path in which a neighbor terminal having transmitted the routerequest message is made into the next transfer destination when therearises a request that data is to be transmitted to the transmissionsource of the route request message.

The terminal A and terminal B which have received the route requestmessage further broadcast the route request message since a destinationis not these terminals. Hence, the route request message is conveyed tothe terminal C (204) and terminal E (206). On the other hand, the routerequest message broadcasted by the terminal A is also received in theterminal S and terminal B, however, the received message is discarded inthe terminal S and terminal B since a request identifier attached to theroute request message matches. Similarly, the route request messagebroadcasted by the terminal B is discarded in the terminal S andterminal A. Thus, the request identifier is used for checking duplicatedreceipt.

The terminal C and terminal E which have received the route requestmessage further broadcast the route request message after setting areverse path to the terminal S. Hence, the route request message reachesthe terminal D (205). Although the terminal D receives the route requestmessages from both of the terminal C and the terminal E, the routerequest message which is received later is discarded.

FIG. 2B shows a flow of a packet when a route reply is made from theterminal D to the terminal S. The terminal D transmits a route replymessage (Route REPly message: RREP) by a uni-cast to the terminal S thatis the transmission source, after setting the reverse path to theterminal S. For example, when the terminal D replies to the routerequest message from the terminal C, the terminal D transmits the replyby the uni-cast to the terminal C as a next transmission destination.

The terminal C having received the route reply message sets a reversepath to the terminal D that is the transmission source of the routereply message. Then, the terminal C transfers the route reply message tothe terminal A. Similarly, the terminal A having received the routereply message sets a reverse path to the terminal D that is thetransmission source of the route reply message, and transfers the routereply message to the terminal S.

The terminal S having received the route reply message sets a reversepath to the terminal D that is the transmission source of the routereply message. Hence, the route discovery process is completed.

FIG. 3 is a diagram showing an outline of processing in the embodimentof the present invention. As already explained in FIG. 2, if the routeto the destination address is not yet set when a data communicationrequest 10 is generated, the terminal enters a route discovery process20. Hence, the route is set between terminals. The route among terminalsis formed by passing through at least one link 30 that mutually connectsthe terminals.

After the route is set, the link is monitored by a link state managementprocess 40. Specifically, an item called a link state in a route entryof a route table in each terminal is updated appropriately. Eachterminal retains information on a link for connecting thereto in theroute table as described later, and this route table is updated wheneverthe link state changes. Accordingly, each terminal can obtain the latestlink state without fail.

When the link state of the route being used becomes a predeterminedstate, this link state is notified to the transmission source in a routeinformation notification process 50. For example, when the quality ofthe link deteriorates due to some reason, a terminal on the transmissionside connecting to the link transmits a route information notificationto the transmission source. A terminal having received this routeinformation notification starts retaining data in a data buffer providedtherein. In addition, this route information notification is transferredsuccessively between each terminal toward the transmission source.

When the link state of the route being used becomes the predeterminedstate, an alternative route is searched in an alternative route searchprocess 60. For example, when the quality of the link deteriorates dueto some reason, the terminal on the transmission side connecting to thelink transmits a route request in order to discover an alternativeroute. The terminal which has transmitted the route request receives aroute reply in accordance with a predetermined procedure, and thereby apossible alternative route is set.

However, when an appropriate alternative route is not discovered forthis route request, a route error is transmitted to the next terminal onthe route toward the transmission source. Then, a terminal that hasreceived this route error transmits a route request in order to discoveran alternative route. When an appropriate alternative route is notdiscovered even by this request, the route error is transferred furtherto the following terminal on the route toward the transmission sourceand a similar procedure is repeated until an alternative route isdiscovered.

When the link state of the route being used becomes the predeterminedstate after the possible alternative route is set, a switching to thealternative route is made in a route switching process 70. For example,when the quality of the link is further deteriorated and a break of thelink is about to occur due to the same reason, the terminal having madethe possible alternative route set gives another terminal a command toswitch to the possible alternative route as a qualified route. Withthis, the alternative route becomes the qualified route to thedestination terminal.

Next, a configuration example of a wireless terminal in the embodimentof the present invention is explained by referring to the accompanieddrawing.

FIG. 4 is a diagram showing a configuration example of a wirelessterminal 100 in the embodiment of the present invention. This wirelessterminal 100 includes a communication processing unit 110, a controller120, a display unit 130, an operation unit 140, and a memory 600, whichare mutually connected by a bus 180. In addition, an antenna 105 isconnected to the communication processing unit 110. The communicationprocessing unit 110 makes a frame of a network interface layer (datalink layer) from a signal that is received through the antenna 105.Further, the communication processing unit 110 transmits the frame ofthe network interface layer through the antenna 105. Also, thecommunication processing unit 110 detects a signal/noise ratio (S/Nratio) with respect to the signal received through the antenna 105 andnotifies to the controller 120.

The controller 120 controls the whole of the wireless terminal 100. Forexample, predetermined processing is performed by referring to the framemade by the communication processing unit 110. The controller 120 has atimer 125 and measures time. In addition, the controller 120 calculatesan error rate of a frame or packet.

The display unit 130 is provided to display predetermined information,and a liquid crystal display or the like is used, for example. Theoperation unit 140 is provided to make an operation command to thewireless terminal 100 from the outside, and a keyboard, button switch,or the like is used, for example.

The memory 600 is provided to retain data necessary for an operation ofthe controller 120, and contains a route table 610 to retain informationon a route for connecting this terminal and a data buffer 620 to retaindata that is transmitted to another terminal as explained in thefollowings.

FIG. 5 is a diagram showing a configuration example of the route table610 retained in the wireless terminal 100 in the embodiment of thepresent invention. The route table 610 retains as a route entry adestination address 611, a transfer destination address 612, the numberof destination hops 613, a link state 614, a sequence number 615, aowner 616, and a preceding list 617. The destination address 611 showsan address of a final destination terminal of that route. Here, theaddress is only required to be the one which identifies a terminaluniquely, and a MAC (Media Access Control) address, IP (InternetProtocol) address, or the like can be used, for example. The transferdestination address 612 shows an address of the next terminal fortransfer in order to reach the corresponding destination address 611.

The number of destination hops 613 shows the number of necessary linksin order to reach the corresponding destination address 611. Forexample, in case of the example of FIG. 1B, the number of hops becomes2, because it is necessary to pass two links in total through theterminal A along the path to reach the terminal S from the terminal C.The link state 614 shows a state of a link with respect to a link to thecorresponding transfer destination address 612. This link state will beexplained later.

The sequence number 615 is provided to avoid a loop that might begenerated between a route formed in the past and a route newly formed.It is possible to judge which route is the newly formed one bynumerically comparing a size of this sequence number 615.

The owner 616 shows an owner of a corresponding link. Since terminalsconnected to one link exist on both ends (which means two) of the link,there is a possibility that two terminals starts an action all at oncewhen a change occurs in a state of the link. Then, an owner is appointedto each link so that the owner has a responsibility to manage the link.It is necessary to appoint uniquely which terminal becomes the owner.For example, it is possible to compare the IP addresses (or, MACaddresses) by numerical values and to set a owner flag of that route tothe larger one at a stage where the route is set. In addition, it isalso possible to determine based on the number of neighbor terminals,the performance of the terminal, and the like other than the numericalsize of the address. Since a possibility of possessing a plurality ofalternative routes is high in a node having many neighbor terminals andsince calculation costs spent on a process for a discovery of analternative route become low in a terminal having a high performance,those node and terminal are considered to be eligible as the owner ofthe route. Here, in the example of FIG. 5, a case of being a owner isindicated as “1” and a case of being not an owner is indicated as “0”.

The preceding list 617 is one that shows an address group of terminalsin a reverse direction to the destination address 611 on that route. Forexample, in the case where there is a route directed to the terminal Sfrom the terminal D through the terminal C and further through theterminal A, the preceding list 617 of the route entry, in which theterminal S is the destination address 611 and the terminal A is thetransfer destination address 612, contains the terminal D in the routetable 610 of the terminal C. Here, when there is additionally a flow ofdata directed to the terminal S from a terminal X through the terminal Cand further through the terminal A, for example, that preceding list 617further contains the terminal X.

Next, a state transition of a link state in the embodiment of thepresent invention is explained by referring to the accompanied drawing.

FIG. 6 is a diagram showing an example of a state transition in the linkstate management process 40 according to the embodiment of the presentinvention. As a link state, it is assumed that there are five kinds ofstate: a valid state (V-state: Valid) 41, an invalid state (I-state:Invalid) 42, a break state (B-state: Break) 43, a stretched state(S-state: Stretched) 44, and a candidate state (C-state: Candidate) 45.

The valid state 41 is a state of being set as a qualified route. Theinvalid state 42 is a state where although not used as a route, theroute entry is retained in the route table 610. On the other hand, thebreak state 43 is a state where the route is not used either, and theroute entry is already deleted from the route table 610. With this breakstate 43 being assumed, the route entry can be minimized to increase anavailable memory and management costs can be reduced.

The stretched state 44 is the state where a link having been the validstate 41 until then becomes unstable due to a deterioration of the linkquality. For example, a case where a reception state of a radio wavebecomes deteriorated, a case where a radio wave becomes difficult topass through due to shield by a human body, and the like are considered.However, it is assumed that even this stretched state 44 is not such astate that communication is completely impossible although there is someproblem in the communication. The candidate state 45 is a state of beingset as a possible alternative route by the alternative route searchprocess 60, and is a state of being not yet used as a qualified route atthis point of time although this route is usable.

First, a route becomes the valid state 41 when the route is set in theroute discovery process 20, but thereafter a transition is made to thestretched state 44 when the quality of the link deteriorates. Further,when predetermined time passes without using the route in the validstate 41, a transition is made to the invalid state 42 as time out.Further, when the alternative route switches to the qualified route,with respect to the former link of the valid state 41 a transition ismade to the invalid state 42.

When the route turns to the stretched state 44, an alternative route isdiscovered by the alternative route search process 60. When thealternative route switches to the qualified route, with respect to theformer link of the stretched state 44 a transition is made to theinvalid state 44. Further, when the predetermined time passes withoutusing the route in the stretched state 44, a transition is made toeither the invalid state 42 or break state 43 with the time out. Notethat a transition is made to the break state 43 when the quality of thelink further deteriorates in the stretched state 44 such that the linkbecomes a state completely incapable of performing the communication,but the route again returns to the valid state 41 when the quality ofthe link becomes improved.

When the alternative route switches to the qualified route in thecandidate state 45, a transition is made to the valid state 41. On theother hand, when the quality of the link is further deteriorated in thecandidate state 45 such that the link becomes a state completelyincapable of performing the communication, or when the predeterminedtime passes without being used, a transition is made to the break state43 with time out and the route is deleted from the route table 610.

Further, when the quality of the link deteriorates further in theinvalid state 42 such that the link becomes a state completely incapableof performing the communication, or when the predetermined time passeswhile leaving the route unused, a transition is made to the break state43 and is deleted from the route table 610. On the other hand, it isassumed that with respect to the valid state 41 a transition to thestretched state 44 is made without fail and the transition is notdirectly made to the break state 43 even when the quality deterioratesabruptly to a level where the communication is not possible.

Note that whether the quality of the link is excellent or not in thisstate transition is judged by the controller 120 based on a signal/noiseratio of a physical layer that is detected by the communicationprocessing unit 110 and an error rate of a MAC sub-layer that iscalculated by the controller 120. In addition, the judgment of the timeout is made on the basis of the timer 125 of the controller 120.

Next, a packet configuration in the embodiment of the present inventionis explained by referring to the accompanied drawing.

FIG. 7 is a diagram showing a configuration example of a routeinformation notification packet 830 that is used in the routeinformation notification process 50 according to the embodiment of thepresent invention. When with respect to the link state 614 in the routetable 610 a transition is made from the valid state (V-state) 41 to thestretched state (S-state) 44, the route information notification packet830 is transmitted by a terminal on the transmission side, which isconnected to the link. This route information notification packet 830contains a packet type 831, a link state 832, a source address 833, anupstream address 834, a downstream address 835, and a data retentiontime 836.

The packet type 831 is a field that indicates a type of a packet, and incase of this route information notification packet 830, it is indicatedthat this packet is the route information notification packet. The linkstate 832 is a field that indicates a present link state of that link.In the embodiment of the present invention, either one of the validstate (V-state) 41 or stretched state (S-state) 44 is assumed as thislink state 832, but transmission may be made possible even in a stateother than the above-described states.

The source address 833 is a field that indicates an address of aterminal which transmits data using that route. The upstream address 834and downstream address 835 are fields that indicate addresses ofterminals which specify a link having the link state 832. Specifically,the upstream address 834 is a terminal on the transmission side which isconnected to that link and indicates an address of a terminal thattransmits the route information notification packet 830. Also, thedownstream address 835 is a terminal on the reception side which isconnected to that link, and indicates an address of a terminalcorresponding to the next hop of the terminal that transmits the routeinformation notification packet 830.

The data retention time 836 is a field that designates how long aterminal having received the route information notification packet 830should retain data under transmission in the data buffer 620 (FIG. 4).For example, it is possible to indicate that data should be retained fora duration from several milliseconds to several seconds. On the otherhand, when data should not be retained, a value “0” is set in this dataretention time 836. When a route error message is not received during aperiod of this data retention time 836 after receiving the routeinformation notification packet 830, the wireless terminal 100 discardsthe data retained in the data buffer 620.

FIG. 8 is a diagram showing a configuration example of a route requestpacket 810 that is used in the alternative route search process 60according to the embodiment of the present invention. When with respectto the link state 614 in the route table 610 a transition is made fromthe valid state (V-state) 41 to the stretched state (S-state) 44, theroute request packet 810 is transmitted by a terminal on thetransmission side which is connected to that link. This route requestpacket 810 contains a packet type 811, an alternative flag 812, a hopcount 813, a request identifier 814, a destination address 815, adestination sequence number 816, a source address 817, an agent address818, and a source sequence number 819.

The packet type 811 is a field that indicates a type of a packet, and incase of this route request packet 810, it is shown that this packet isthe route request packet. The alternative flag 812 is a field thatindicates whether the route request packet 810 is used for initial routesetting or is used for setting a possible alternative route. Forexample, when the alternative flag 812 is “OFF”, the packet is a normalroute request and when the alternative flag is set to “ON”, the packetis a particular route request for setting a possible alternative route.The route request packet 810 in which the alternative flag 812 is set istransferred to other terminals than in the stretched state 44 bymultiple uni-casts. Further, in a terminal having received the routerequest packet 810 in which the alternative flag 812 is set, routeinformation on a route request source is formed without being restrictedby limitations on the sequence number and the number of hops which aredescribed later.

The hop count 813 is a field that indicates the number of links passedthrough from the source address 817. The request identifier 814 is afield that indicates an identifier for uniquely identifying the routerequest relating to the route request packet 810. This requestidentifier 814 is not changed during a process in which the routerequest is transferred from the source address 817 to the destinationaddress 815.

The destination address 815 is a field that indicates an address of aterminal that becomes a final destination of a route to be set, and thisdestination address 815 indicates an address of a final destinationterminal of the route request packet 810. The route to the destinationaddress 815 is set with this route request packet 810. The destinationsequence number 816 is a field that indicates the maximum sequencenumber which a terminal on the route toward the destination address 815has received in the past.

The source address 817 is a field that indicates an address of aterminal which becomes a start of the route to be set. This sourceaddress 817 indicates an address of a source terminal which has firsttransmitted the route request packet 810 when the alternative flag 812is not set, but the source address 817 indicates the address of thesource terminal which the following agent address 818 has firsttransmitted the route request packet 810 when the alternative flag 812is set. The agent address 818 is a field that indicates an address of aterminal which has transmitted the route request packet 810 as an agentwhen the alternative flag 812 is set.

The source sequence number 819 is a field that indicates the presentsequence number of the source terminal, and becomes a destinationsequence number for a terminal which has set a route toward that sourceterminal.

FIG. 9 is a diagram showing a configuration example of the route replypacket 820 which is used in the alternative route search process 60according to the embodiment of the present invention. This route replypacket 820 is transmitted by the terminal shown in the destinationaddress 815 of the route request packet 810 as a reply to the routerequest packet 810. This route reply packet 820 contains a packet type821, an alternative flag 822, a hop count 823, a destination address825, a destination sequence number 826, a source address 827, an agentaddress 828, and remaining time 829.

The packet type 821 is a field that indicates a type of a packet, and incase of this route reply packet 820, it is indicated that this packet isthe route reply packet. Similarly to the alternative flag 812, thealternative flag 822 is a field that indicates whether the route replypacket 820 is used for initial route setting or is used for setting apossible alternative route. The route reply packet 820 in which thisalternative flag 822 is set is not transferred any further after thispacket is received by the terminal shown in the agent address 818.

The hop count 823 is a field that indicates the number of links passedthrough from the destination address 825. The destination address 825 isa field that indicates an address of a terminal which becomes a finaldestination of a route to be set, and the destination address 825indicates an address of a terminal which has transmitted route replypacket 820. The destination sequence number 826 is a field thatindicates the maximum sequence number which a terminal on the routetoward the destination address 825 has received in the past.

The source address 827 is a field that indicates an address of aterminal which becomes a start of the route to be set. The agent address828 is a field that indicates an address of a terminal which becomes afinal destination of the route reply packet 820 when the alternativeflag 822 is set. The remaining time 829 is a field that indicatesremaining time of the route, and is used to judge the above-describedtime out.

FIG. 10 is a diagram showing a configuration example of a route errorpacket 840 which is used in the alternative route search process 60according to the embodiment of the present invention. This route errorpacket 840 is transmitted by a terminal on the transmission side whichis connected to the link in the case where an alternative route is notdiscovered even though the alternative route is searched in thealternative route search process 60, using the quality deterioration ofthe link as a trigger. This route error packet 840 contains a packettype 841 and an un-reached destination address 842. The packet type 841is a field that indicates a type of a packet, and in case of this routeerror packet 840, it is indicated that this packet is the route errorpacket.

The un-reached destination address 842 is a field that indicates adestination address of a route that can not be discovered even though analternative route is searched in a transmission terminal of the routeerror packet 840. A terminal having received the route error packet 840refers to this un-reached destination address 842, changes the linkstate 614 from the valid state to the stretched state in the route entrythat corresponds to the destination address 611 (FIG. 5) of the routetable 610, and searches an alternative route from the terminal. In thecase where the alternative route can not be discovered even by thissearch, the link state 614 of the route entry is changed from thestretched state to the invalid state (or, deleted) and the route errorpacket 840 is transferred to the address written in the preceding list617.

FIG. 11 is a diagram showing a configuration example of the routeswitching packet 850 which is used in the route switching process 70according to the embodiment of the present invention. This routeswitching packet 850 is transmitted by a terminal having transmitted theroute request packet 810 for setting a possible alternative route inorder to switch to the possible alternative route as a qualified route.A normal data packet can be used as the route switching packet 850. Forexample, as shown in FIG. 11, this packet can be obtained by partlychanging a definition of a header portion 851 in a data packet thatcontains data 857 in a payload portion 856. However, in the case where aheader portion can not be changed in such a case of IPv4, a data packetmay be transmitted after the route switching packet 850 that containssimilar information is transmitted as a control packet.

In the header portion 851 of the route switching packet 850 using thedata packet, a route switching flag 854 is provided in addition to anormal destination address 852 and source address 853. A terminal havingreceived a data packet in which the route switching flag 854 is set to“ON” switches a possible alternative route to a qualified route.Specifically, a route entry in which the destination address 611corresponds to the destination address 852 is searched in the routetable 610, and the link state 614 in such route entry is changed fromthe candidate state 45 to the valid state 41. Further, prior to theabove, the link state 614 is changed to the invalid state 42 if there isone whose link state 614 is either the valid state 41 or stretched state44 in the route entry in which the destination address 611 correspondsto the destination address 852.

Next, an operation in each process in the embodiment of the presentinvention is explained by referring to the accompanied drawing.

FIG. 12 is a diagram showing a route when the terminal C transmits theroute information notification packet 830 in the embodiment of thepresent invention. Here, it is assumed that a route passing through theterminal A, terminal B, and terminal C is used when transmission of datais performed from the terminal S to the terminal D. When the quality ofthe link between the terminal C and the terminal D deteriorates tobecome a stretched state, the terminal C transmits the route informationnotification packet 830 to the terminal B. In this case, the sourceaddress 833 shows the address of the terminal S that is a datatransmission source, the upstream address 834 shows the address of theterminal C that transmits this route information notification packet830, and the downstream address 835 shows the address of the terminal Dthat is the next hop, respectively, in the route informationnotification packet 830 shown in FIG. 7. As the link state 832, it isshown that the link state is the stretched state.

The terminal B having received this route information notificationpacket 830 retains data to be transmitted thereafter to the terminal Cin the data buffer 620 thereof. The terminal B transfers this routeinformation notification packet 830 further to the upstream terminal A.Hence, the terminal A also starts retaining data to be transmittedthereafter to the terminal B in the data buffer 620 thereof. Similarly,the terminal A transfers this route information notification packet 830further to the upstream terminal S. Hence, the terminal S also startsretaining data to be transmitted thereafter to the terminal A in thedata buffer 620 thereof. Since the terminal S is a transmission sourceof the data and the source address 833 corresponds to the addressthereof, the terminal S does not transfer this packet any further.

FIG. 13 is a diagram showing a route when the terminal C transmits theroute error packet 840 in the embodiment of the present invention. Afterthe terminal C transmits the route information notification packet 830in FIG. 12, the terminal C transmits the route request packet 810 inorder to search an alternative route in place of the route between theterminal C and the terminal D which is the stretched state. Viewing fromthe terminal C, neighbor terminals other than the terminal D are theterminal B and terminal G. Since the terminal B is included in thepreceding list 617 of the present route, a route passing through theterminal B is not searched at this stage. Here, if a route between theterminal C and the terminal G is already broken as shown in FIG. 13, aroute passing through the terminal G can not be discovered, either.Therefore, the terminal C can not discover any other route. Then, theterminal C transmits the route error packet 840 to the terminal B.

The terminal B having received this route error packet 840 transmits theroute request packet 810 in order to search an alternative route betweenthe terminal B and the terminal D. Viewing from the terminal B, neighborterminals other than the terminal C are the terminal A and terminal F.Since the terminal A is included in the preceding list 617 of thepresent route, a route passing through the terminal A is not searched atthis stage. Here, if a route between the terminal F and the terminal Gand a route between the terminal F and the terminal I are already brokenas shown in FIG. 13, the terminal B can not discover any other route.Then, the terminal B transfers the route error packet 840 to theterminal A.

The terminal A having received this route error packet 840 transmits theroute request packet 810 in order to search an alternative route betweenthe terminal A and the terminal D. Viewing from the terminal A, neighborterminals other than the terminal B are the terminal S and terminal E.Since the terminal S is included in the preceding list 617 of thepresent route, a route passing through the terminal S is not searched atthis stage. With respect to the terminal E, a route to the terminal F isbroken but a route to the terminal H is connected as shown in FIG. 13.The route request packet 810 transmitted from the terminal A istransferred until the packet reaches the terminal D from the terminal E,through the terminal H, terminal I, and terminal J. During this process,a route toward the terminal S from the terminal D is set in the routetables 610 in the terminals on the route. At this stage, the link state614 on this route is a candidate state.

The terminal D having received the route request packet 810 transmitsthe route reply packet 820 to the terminal J. This route reply packet820 is transferred in a reverse direction to the route in which thisroute request packet 810 has been transferred. During this process, aroute toward the terminal D from the terminal S is set in the routetables 610 in the terminals on the route. At this stage, the link state614 on this route is the candidate state.

FIG. 14 is a diagram showing a state in which the route is switched tothe alternative route between the terminal S and the terminal D in theembodiment of the present invention. As described above, the link state614 on the route is the candidate state at the stage where thealternative route has been set by the route request packet 810 and routereply packet 820. The terminal A transmits the route switching packet850 to the terminal E in order to make this route switched into aqualified route. The terminal E on the alternative route having receivedthis route switching packet 850 changes the link of the candidate stateinto a valid state after changing the former route into an invalidstate. Further, this route switching packet 850 is transferred until thepacket reaches the terminal D from the terminal E, through the terminalH, terminal I, and terminal J. Hence, the alternative route is switchedto be the qualified route.

FIG. 15 is a diagram showing data transmission timing of the terminal Abefore and after a route information notification in the embodiment ofthe present invention. FIG. 15A shows a flow of data when the data istransmitted from the terminal A to the terminal B. Assuming that theroute information notification packet 830 is received when the terminalA has transmitted data from d1 to d3, data on and after d4 istransmitted to the terminal B, and also is retained in the data buffer620 of the terminal A as shown in FIG. 15B.

Assuming that the route switching packet 850 that the route is switchedto the terminal E is received when the terminal A has transmitted datad6, the terminal A next transmits data to the terminal E. At this time,the terminal A first transmits data from d4 to d6 which have beenretained in the data buffer 620 before transmitting the next data d7.Then, the terminal A successively transmits data on and after d7 to theterminal E after the transmission of the data from d4 to d6 which havebeen retained in the data buffer 620 is completed to the terminal E. Inthis way, the transmission data during the switching can be transmittedwithout omission at the time of the route switching. Here, althoughthere is a possibility as a result that the data from d4 to d6transmitted by the former route through the terminal B is received induplicate by the terminal D, a problem does not occur since the terminalD discards the data reached later in that case.

Next, operations of the alternative route discovery process and routeswitching process 60 in the embodiment of the present invention areexplained by referring to the accompanied drawings.

FIG. 16 is a diagram showing a route when communication is performedtoward the terminal D from the terminal S and the contents of the routetable 610 in each terminal. The terminal A and terminal C transfer apacket between the terminal S and the terminal D. At this time, in theroute table 610 of the terminal S, the transfer destination address 612is the terminal A in a route entry in which the terminal D is thedestination address 611. Further, in the route table 610 of the terminalA, the transfer destination address 612 is the terminal C in a routeentry in which the terminal D is the destination address 611, and thetransfer destination address 612 is the terminal S in a route entry inwhich the terminal S is the destination address 611. Further, in theroute table 610 of the terminal C, the transfer destination address 612is the terminal D in a route entry in which the terminal D is thedestination address 611, and the transfer destination address 612 is theterminal A in a route entry in which the terminal S is the destinationaddress 611. In addition, in the route table 610 of the terminal D, thetransfer destination address 612 is the terminal C in a route entry inwhich the terminal S is the destination address 611. Further, the linkstate for all of the above is the valid state 41.

Here, an assumption is made to a case where the quality of the linkbetween the terminal A and the terminal C deteriorates to become anstretched state. If the terminal A is an owner of this link, forexample, the terminal A discovers an alternative route in the followingprocedure.

FIG. 17 is a diagram showing a route and the contents of the route table610 in each terminal when the terminal A requests an alternative route.Since the quality of the link between the terminal A and the terminal Chas deteriorated, the link state 614 has changed from the valid state 41to the stretched state 44 with respect to the route to the terminal D inthe route table 610 of the terminal A and the route to the terminal S inthe route table 610 of the terminal C.

The terminal A transmits by multiple uni-casts the route request packet810 (FIG. 7) in which the alternative flag 812 is set. However, in caseof this example, the transmission becomes the uni-cast transmission tothe terminal B. The reason is that the link to the terminal C is thestretched state, also the terminal S is written in the preceding list617 (FIG. 5), and therefore the terminal A does not transmit the routerequest packet 810 to the terminal S and terminal C. Further, theaddress of the terminal S which is a start of the route is written inthe source address 817 of this route request packet 810.

The terminal B having received the route request packet 810 from theterminal A forms a route entry in which the destination address 611 isthe terminal S and the transfer destination address 612 is the terminalA as a route toward the source address 817, and sets the link state 614to the candidate state 45.

FIG. 18 is a diagram showing a route and the contents of the route table610 in each terminal when the terminal B transfers the request of thealternative route. The terminal B having received the route requestpacket 810 from the terminal A forms the route entry as described above,and then transfers the route request packet 810 to the terminal S andterminal E. Similarly to the above, the terminal S having received theroute request packet 810 interprets that this route request packet isthe packet transmitted therefrom and discards this route request packet810.

The terminal E having received the route request packet 810 from theterminal B forms a route entry in which the destination address 611 isthe terminal S and the transfer destination address 612 is the terminalB as the route toward the source address 817, and sets the link state614 to the candidate state 45.

FIG. 19 is a diagram showing a route and the contents of the route table610 in each terminal when the terminal E transfers the request of thealternative route. The terminal E having received the route requestpacket 810 from the terminal B forms the route entry as described above,and then transfers the route request packet 810 further to the terminalC and terminal D.

The terminal D having received the route request packet 810 from theterminal E forms a route entry in which the destination address 611 isthe terminal S and the transfer destination address 612 is the terminalE as the route toward the source address 817, and sets the link state614 to the candidate state 45. Note that the terminal D receivesthereafter the route request packet 810 from the terminal C but discardsthe route request packet 810 transmitted from the terminal C since therequest identifier 814 of the route request packet 810 corresponds tothe one previously received from the terminal E.

FIG. 20 is a diagram showing a route and the contents of the route table610 in each terminal when the terminal D transmits a reply to therequest of the alternative route. The terminal D having received theroute request packet 810 from the terminal E forms the route entry asdescribed above, and then toward the terminal S transmits the routereply packet 820 (FIG. 9) in which the alternative flag 822 is set, as areply to that route request packet 810. The destination address 825,source address 827, and agent address 828 of this route reply packet 820correspond to the destination address 815, source address 817, and agentaddress 818 of the route request packet 810, respectively.

The route reply packet 820 from the terminal D is transferred in asimilar procedure to the route request packet 810, and an alternativeroute is formed in each terminal. Specifically, the terminal E forms aroute entry in which the destination address 611 is the terminal D andthe transfer destination address 612 is the terminal D, and sets thelink state 614 to the candidate state 45. The terminal B forms a routeentry in which the destination address 611 is the terminal D and thetransfer destination address 612 is the terminal E, and sets the linkstate 614 to the candidate state 45. In addition, the terminal A forms aroute entry in which the destination address 611 is the terminal D andthe transfer destination address 612 is the terminal B, and sets thelink state 614 to the candidate state 45.

Since the alternative flag 822 is set and the agent address 828 is theaddress thereof, the terminal A receives the route reply packet 820 anddoes not transfer any further. Thus, the possible alternative route isset between the terminal S and the terminal D. Note that a route errorpacket is transmitted to the terminal A when there exists no route to bethe alternative.

FIG. 21 is a diagram showing a route and the contents of the route table610 in each terminal when the terminal A transmits a command to switch apossible alternative route to a qualified route. When switching to thealternative route is selected, and when there is a route entry in whichthe destination address 611 is the terminal D and whose link state 614is a stretched state or valid state in the route table 610 thereof, theterminal A first sets the link state 614 to an invalid state by using adata communication request generated thereafter as a trigger. Further,the link state 614 is set to a valid state for a route entry in whichthe destination address 611 is the terminal D and whose link state 614is a candidate state. Specifically, the link state 614 of the route inwhich the transfer destination address 612 is the terminal C is changedfrom the stretched state to the invalid state, the link state 614 of theroute in which the transfer destination address 612 is the terminal B ischanged from the candidate state to the valid state. Further, theterminal A transmits the route switching packet 850 directed to theterminal D to the terminal B by referring to the route table 610 inwhich the link state 614 is thus changed.

The terminal B having received the route switching packet 850 from theterminal A changes the link state 614 of the route in which the transferdestination address 612 is the terminal E from the candidate state tothe valid state. The terminal B transfers the route switching packet 850to the terminal E by referring to the route table 610 in which the linkstate 614 is thus changed.

The terminal E having received the route switching packet 850 from theterminal B changes the link state 614 of the route in which the transferdestination address 612 is the terminal D from the candidate state tothe valid state. The terminal E transfers the route switching packet 850further to the terminal D by referring to the route table 610 in whichthe link state 614 is thus changed. In this manner, a route table in theforward direction is set when the route switching packet 850 transmittedby the terminal A reaches the terminal D.

FIG. 22 is a diagram showing a route and the contents of the route table610 in each terminal when the terminal D transmits a command to switch apossible alternative route to the qualified route. The terminal D havingreceived the route switching packet 850 from the terminal E changes thelink state 614 of the route in which the transfer destination address612 is the terminal C from the valid state to the invalid state andchanges the link state 614 of the route in which the transferdestination address 612 is the terminal E from the candidate state tothe valid state by using a data communication request generatedthereafter as a trigger. Further, the terminal D transmits this time theroute switching packet 850 directed to the terminal S to the terminal Eby referring to the route table 610 in which the link state 614 is thuschanged.

The terminal E having received the route switching packet 850 from theterminal D changes the link state 614 of the route in which the transferdestination address 612 is the terminal B from the candidate state tothe valid state. The terminal E transfers the route switching packet 850to the terminal B by referring to the route table 610 in which the linkstate 614 is thus changed.

The terminal B having received the route switching packet 850 from theterminal E changes the link state 614 of the route in which the transferdestination address 612 is the terminal A from the candidate state tothe valid state. The terminal B transfers the route switching packet 850further to the terminal A by referring to the route table 610 in whichthe link state 614 is thus changed. In this manner, a route table in thereverse direction is set when the route switching packet 850 transmittedby the terminal D reaches the terminal A.

FIG. 23 is a diagram showing a state where the route is switched to thealternative route between the terminal S and the terminal D and thecontents of the route table 610 in each terminal. When predeterminedtime passes in this state, or when the link quality between the terminalA and the terminal C further deteriorates to become a state completelyincapable of performing the communication, an unnecessary route entry inthe route table 610 is deleted by the link state management process 40.For example, there is such a possibility that the route entry in whichthe transfer destination address 612 is the terminal C is deleted in theroute table 610 of the terminal A, the route entry in which the transferdestination address 612 is the terminal D is deleted in the route table610 of the terminal C, and the route entry in which the transferdestination address 612 is the terminal C is deleted in the route table610 of the terminal D. On the other hand, in case that the link qualitybetween the terminal A and the terminal C improves and the link qualitybetween the terminal B and the terminal E deteriorates, there is also apossibility that the route is switched again to the former route.

Next, a processing method in each terminal according to the embodimentof the present invention is explained by referring to the accompanieddrawings.

FIG. 24 is a flow chart showing a processing procedure in the case wherethe wireless terminal 100 in the embodiment of the present inventionreceives the route information notification packet 830. When thewireless terminal 100 receives the route information notification packet830 (step S911), and when the source address 833 of the routeinformation notification packet 830 is not the address thereof (stepS912), the wireless terminal 100 transfers the route informationnotification packet 830 toward the source address 833 (step S913).Further, when the link state 832 of this route information notificationpacket 830 is other than a stretched state or break state (that is, avalid state, invalid state, or candidate state) (step S914), the nextroute information notification packet 830 is received (step S911).

In step S914, when it is judged that the link state 832 is the stretchedstate or break state, the wireless terminal 100 retains transmissiondata on the present route in the data buffer 620 (step S915). Further,when the route error packet 840 is received before the data retentiontime 836 passes (step S917), an alternative route therefrom to adestination terminal is searched (step S920). This is described later byreferring to FIG. 25.

On the other hand, when the data retention time 836 passes (step S917)after starting the retention of data in the data buffer 620 (step S915),the data retained in the data buffer 620 is discarded (step S918).

FIG. 25 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute error packet 840. When the route error packet 840 is received(step S921), the wireless terminal 100 transmits the route requestpacket 810 in order to search an alternative route from the terminal tothe destination terminal (step S922). When the route reply packet 820 isreceived with respect to this route request packet 810, the alternativeroute to the destination terminal is discovered (step S923), and so aswitching to the alternative route is performed by transmitting theroute switching packet 850 (step S960). Those procedures from the routesearch to the route switching are described later by referring to FIGS.26 through 28.

When the route can not be discovered in step S923, the route entry isdeleted from the route table 610 or is changed to an invalid state (stepS924), and the data retained in the data buffer 620 is discarded (stepS925). Further, when the terminal itself is not the transmission sourceof the data (step S926), the route error packet 840 is transferred tothe address written in the preceding list 617 (step S927).

FIG. 26 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute request packet 810. When the wireless terminal 100 receives theroute request packet 810 (step S931), it is judged whether this routerequest packet is received in duplicate by referring to the requestidentifier 814 of the route request packet 810 (step S932). If a routerequest packet having the same request identifier has already beenreceived, the route request packet 810 received later is discarded (stepS943).

When it is judged in step S932 that this reception is not duplication,the request identifier 814 of that route request packet 810 is recorded(step S933), and is used thereafter for judgment of the duplicatedreception. Then, the alternative flag 812 of that route request packet810 is referred to, and it is judged whether this alternative flag 812is set to “ON”, specifically whether this route request packet 810 is aroute request for discovering an alternative route (step S934). Whenthis route request packet 810 is the alternative route discoveryrequest, route information toward the route request source is formedwithout making judgments of the following steps of S935 and S936 (stepS937).

When it is judged in step S934 that this route request packet is not thealternative route discovery request but a normal (initial) routerequest, checking on the sequence number (step S935) and checking on thehop count (step S936) are performed. Specifically, when the destinationsequence number 816 of the route request packet 810 is newer than thesequence number 615 of the route set at present, the route informationtoward the route request source is formed (step S937). On the otherhand, when the destination sequence number 816 of the route requestpacket 810 is older than the sequence number 615 of the route set atpresent, the route information is not formed (step S937). In addition,when the destination sequence number 816 of the route request packet 810corresponds to the sequence number 615 of the route set at present, thehop count 813 of the route request packet 810 is compared with thenumber of destination hops 613 of the route which is set at present, andthe route information toward the route request source is formed (stepS937) when the hop count 813 of the route request packet 810 is shorter.

When the route information toward the route request source is formed instep S937, the following processing is specifically performed. That is,the destination sequence number 816 of the route request packet 810 isset to the sequence number 615, a number in which “1” is added to thehop count 813 of the route request packet 810 is set to the number ofdestination hops 613, and an address of a neighbor terminal which hastransmitted the route request packet 810 is set to the transferdestination address 612. In addition, the link state 614 is set to avalid state when this route request packet is the normal (initial) routerequest, but the link state 614 is set to a candidate state when thisroute request packet is the alternative route discovery request.

Further, when the destination address 815 of the route request packet810 is the address thereof (step S938), the route reply packet 820 istransmitted to this route request packet 810 (step S941). On the otherhand, when the destination address 815 of the route request packet 810is not the address thereof, the route request packet 810 is transferredto another terminal (step S942). At this time, this route request packetis transmitted by a broadcast when this route request packet is thenormal (initial) route request, but this route request packet istransmitted by multiple uni-casts to terminals which are other than theterminal connected to a link of the stretched state and which are notwritten in the preceding list 617 (FIG. 5), when this route requestpacket is the alternative route discovery request.

FIG. 27 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute reply packet 820. When the wireless terminal 100 receives theroute reply packet 820 (step S951), route information toward atransmission source of the route reply is formed (step S952).

Further, when the source address 827 of the route reply packet 820corresponds to the address thereof (step S953), the process is endedwithout performing further processing since it means that a qualifiedroute is set. On the other hand, when the source address 827 of theroute reply packet 820 does not correspond to the address thereof, thealternative flag 822 is further checked (step S954), and when thealternative flag 822 is not set, that route reply packet 820 is furthertransferred by interpreting that as a normal route reply (step S956).

When the alternative flag 822 is set in step S954, the agent address 828is further checked (step S955), and when the agent address 828 does notcorrespond to the address thereof, the route reply packet 820 is furthertransferred (step S956).

On the other hand, when the agent address 828 corresponds to the addressthereof, the process is ended without performing further processingsince it means that a reply to the alternative route request transmittedfrom the terminal itself is returned.

FIG. 28 is a flow chart showing a processing procedure when the wirelessterminal 100 in the embodiment of the present invention receives theroute switching packet 850. When the wireless terminal 100 receives adata packet (step S961), it is checked whether or not the routeswitching flag 854 of the data packet is set (step S962). When the routeswitching flag 854 is not set, a switching of the route is not performedsince the data packet is normal one.

When it is judged in step S962 that the route switching flag 854 is set,the switching of the route is performed in the following procedure sincethe data packet is the route switching packet 850. First, in the routetable 610, when there is a route whose link state 614 is a valid stateor stretched state in a route entry in which the destination address 611corresponds to the destination address 852 (step S963), the link state614 is changed to an invalid state (step S964). Then, in the route table610, the link state 614 is changed from a candidate state to a validstate in the route entry in which the destination address 611corresponds to the destination address 852 (step S965).

Further, when the destination address 852 corresponds to the addressthereof (step S966), the process is ended without performing furtherprocessing. On the other hand, when the destination address 852 does notcorrespond to the address thereof, the data packet is transferred toanother terminal in accordance with the route table 610 (step S967).

Thus, according to the embodiment of the present invention, a state ofthe link 30 on the route set by the route discovery process 20 ismonitored by the link state management process 40, and an alternativeroute is searched by the alternative route search process 60 after thelink state is notified by the route information notification process 50when the link quality deteriorates. Accordingly, a terminal havingreceived the notification starts the retention of transmission data andprepares for the switching of the alternative route thereafter in theroute switching process 70.

Also, when an alternative route is not discovered from a certainterminal in the alternative route search process 60, a route error istransmitted to a neighbor terminal on the transmission side, and aterminal having received the route error searches an alternative route.Accordingly, it is possible to set the alternative route withoutdeleting all the routes. Specifically, it is possible to perform stablecommunication even in an ad hoc network environment having adeteriorated radio wave condition such that a failure of a linkfrequently occurs, and a network of high reliability can be provided inwhich the communication is performed continuously even in an environmentof the ad hoc network in which a movement of a node happens frequently.

Having described preferred embodiments of the invention with referenceto the accompanying drawings, it is to be understood that the inventionis not limited thereto and that various changes and modifications couldbe effected therein without departing from the spirit or scope of theinvention.

Moreover, the processing procedures described above may be interpretedas a method having the series of procedures, and it is also possible tointerpret as a program to make these series of procedures executed by acomputer and/or a recording medium to store that program.

1. A first intermediate terminal configured: for use in a wireless adhoc communication system including a plurality of terminals including asource terminal which transmits communication data and a destinationterminal which receives the communication data; to transmit analternative route discovery request when the quality of a link connectedto the first intermediate terminal between the source terminal and thedestination terminal deteriorates; to transmit a route errornotification to a second intermediate terminal when the request fails;and to notify the second intermediate terminal of route information foran alternative route between the second intermediate terminal and thedestination terminal when the alternative route becomes useable.
 2. Amethod implemented in a first intermediate terminal used in an ad hocwireless communication system including a source terminal whichtransmits communication data and a destination terminal which receivesthe communication data, the method comprising the steps of: transmittingan alternative route discovery request when the quality of a linkconnected to the first intermediate terminal between the source terminaland the destination terminal deteriorates; transmitting a route errornotification to a second intermediate terminal when the request fails;and notifying the second intermediate terminal of route information foran alternative route between the second intermediate terminal and thedestination terminal when the alternative route becomes useable.
 3. Asecond intermediate terminal configured: for use in a wireless ad hoccommunication system including a plurality of terminals including asource terminal which transmits communication data and a destinationterminal which receives the communication data; to receive from a firstintermediate terminal for an alternative link route; to identify acandidate alternative link route upon receipt of such request; to replyto the first intermediate terminal with information regarding thecandidate alternative link route; to send the candidate alternative linkroute to the destination terminal when the reply is received by thefirst intermediate terminal and transfer the reply to a furtherterminal; to receive and process a first command to switch the routefrom the first intermediate terminal; to send the candidate alternativelink route to the destination terminal as a qualified route when thefirst command is received and transfer the first command to a furtherterminal; and to send the candidate alternative link route to the sourceterminal as the qualified route when a second command is received fromthe destination terminal and to transfer the second command to a furtherterminal, the qualified alternative route linking the secondintermediate terminal to the destination terminal.
 4. A methodimplemented in a second intermediate terminal used in an ad hoc wirelesscommunication system including a source terminal which transmitscommunication data and a destination terminal which receives thecommunication data, the method comprising the steps of: receiving andprocessing a request from a first intermediate terminal for analternative link route; identifying a candidate alternative link routeupon receipt of such request; replying to the first intermediateterminal with information regarding the candidate alternative linkroute; sending the candidate alternative link route to the destinationterminal when the reply is received by the first intermediate terminaland transferring the reply to a further terminal; receiving andprocessing a first command to switch the route from the firstintermediate terminal; sending the candidate alternative link route tothe destination terminal as a qualified route when the first command isreceived and transferring the first command to a further terminal; andsending the selection of the candidate alternative link route to thesource terminal as the qualified route when a second command is receivedfrom the destination terminal and transferring the second command to afurther terminal, the qualified alternative route linking the secondintermediate terminal to the destination terminal.